# -*- coding:UTF-8 -*-
'''
开发环境：PyCharm
创建日期：2025/8/21 11:13
作   者：新启典学苑-樱桃
描   述：对requests中的常用方法进行封装
       1. 使用session发送请求，自动管理cookie
       2. 打印日志，方便定位问题
       3. 异常处理
'''
import requests

from jinrongApiAutoTest.util.log import Logger


class BaseRequests:
    def __init__(self):
        self.session = requests.Session()  # 创建一个session，后续使用这个session发送请求

    def get(self, url, **kwargs):
        try:
            r = self.session.get(url, **kwargs)  # 参数透传
            Logger().info(f"发送get请求成功，url为{url}，参数为{kwargs}")
            Logger().info(f"响应体为：{r.text}")
            return r
        except Exception as e:
            Logger().error(f"发送get请求异常，url为{url}，参数为{kwargs}")
            Logger().error(f"异常信息为：{e}")

    def post(self, url, data=None, json=None, **kwargs):
        try:
            r = self.session.post(url, data=data, json=json, **kwargs)
            Logger().info(f"发送post请求成功，url为{url}，参数为{data}{json}{kwargs}")
            Logger().info(f"响应体为：{r.text}")
            return r
        except Exception as e:
            Logger().error(f"发送post请求异常，url为{url}，参数为{data}{json}{kwargs}")
            Logger().error(f"异常信息为：{e}")
# 测试代码，用完删除
if __name__ == '__main__':
    br = BaseRequests()
    br.get("http://192.168.1.29:8088/futureloan/mvc/api/member/register", params={"pwd": "123123"})
    br.post("http://192.168.1.29:8088/futureloan/mvc/api/member/register", data={"pwd": "123123"})